@echo off
echo ========================================
echo 酒店管理系统Maven项目验证脚本
echo ========================================
echo.

echo 1. 检查项目结构...
if exist pom.xml (
    echo [✓] pom.xml 文件存在
) else (
    echo [✗] pom.xml 文件不存在
    goto :error
)

if exist src\main\java (
    echo [✓] src\main\java 目录存在
) else (
    echo [✗] src\main\java 目录不存在
    goto :error
)

if exist src\main\resources (
    echo [✓] src\main\resources 目录存在
) else (
    echo [✗] src\main\resources 目录不存在
    goto :error
)

if exist src\test\java (
    echo [✓] src\test\java 目录存在
) else (
    echo [✗] src\test\java 目录不存在
    goto :error
)

echo.
echo 2. 检查主要文件...
if exist src\main\java\com\hotel\management\HotelManagementApplication.java (
    echo [✓] 主启动类存在
) else (
    echo [✗] 主启动类不存在
    goto :error
)

if exist src\main\resources\application.yml (
    echo [✓] 配置文件存在
) else (
    echo [✗] 配置文件不存在
    goto :error
)

echo.
echo 3. 检查Java版本...
java -version 2>&1 | findstr "version" >nul
if %errorlevel% == 0 (
    echo [✓] Java环境正常
    java -version
) else (
    echo [✗] Java环境异常
    goto :error
)

echo.
echo 4. 检查Maven环境...
mvn -version 2>&1 | findstr "Apache Maven" >nul
if %errorlevel% == 0 (
    echo [✓] Maven环境正常
    mvn -version
) else (
    echo [✗] Maven环境异常，请安装Maven
    goto :error
)

echo.
echo 5. 验证Maven项目...
echo 正在验证Maven项目结构...
mvn validate
if %errorlevel% == 0 (
    echo [✓] Maven项目验证成功
) else (
    echo [✗] Maven项目验证失败
    goto :error
)

echo.
echo 6. 编译项目...
echo 正在编译项目...
mvn clean compile -q
if %errorlevel% == 0 (
    echo [✓] 项目编译成功
) else (
    echo [✗] 项目编译失败
    goto :error
)

echo.
echo ========================================
echo 项目验证完成！所有检查都通过了。
echo ========================================
echo.
echo 下一步操作：
echo 1. 运行项目: mvn spring-boot:run
echo 2. 访问地址: http://localhost:8080/api/health
echo 3. 查看文档: README.md
echo.
goto :end

:error
echo.
echo ========================================
echo 项目验证失败！请检查上述错误。
echo ========================================
echo.
echo 解决方案：
echo 1. 确保安装了JDK 11+
echo 2. 确保安装了Maven 3.6+
echo 3. 检查项目文件是否完整
echo 4. 查看详细错误信息
echo.

:end
pause
